home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 147
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin
/
tools
/
ivl
/
src
/
libpt4.h
< prev
next >
Wrap
Text File
|
2000-06-23
|
2KB
|
75 lines
#if !defined(LIBPT4_H_HAS_INCLUDED)
#define LIBPT4_H_HAS_INCLUDED
/*
* PT4 フォーマット取り扱いライブラリ
*
* original C: from Jun. 7,1999 by dummy.x.(with J-SAGA INDUSTRY)
* asm and ars: from Jun.13,1999 by dummy.x.(with J-SAGA INDUSTRY)
*/
#include "comtype.h"
/* データ構造定義 */
typedef struct { /* .PT4 画像ファイルデータ構造 */
long idcode; /* 認識コード(0 でなくてはならない(らしい)) */
ushort width; /* パターン横幅(dot単位) */
ushort height; /* パターン縦高(dot単位) */
ushort pixels[_ZEROARRAY]; /* ピクセルデータ
* 実際のデータサイズは
* ((横幅/8(ワード単位で補正))×縦高×4)
*/
} pt4_struct_t;
/* 定数定義 */
/* read_pt4() (.PT4 ファイル読み込み/確認処理)の返値 */
enum {
RDPT4_SUCCESS = 0, /* 無事終了 */
RDPT4_READ_FAIL, /* ファイル読み込み失敗 */
RDPT4_MALLOC_FAIL, /* メモリ確保失敗 */
RDPT4_ILL_FORMAT, /* .PT4 ではない */
RDPT4_RESULT_KAZ
};
/* set_gpalet_pt4() の引数 palbits の定数 */
/* 設定パレットbit番号(各bitの意味) */
enum {
GPPT4_BIT_NGTV, /* bit=1:色反転 */
GPPT4_BIT_MONO, /* bit=1:白黒 */
GPPT4_BIT_KAZ
};
/* 表示パレット種
* bit 値の組み合わせによる値
*/
enum {
GPPT4_NORMAL = 0, /* 通常色 */
GPPT4_NEGATIVE, /* 色反転 */
GPPT4_MONOTONE, /* 白黒 */
GPPT4_NEGAMONO, /* 色反転&白黒 */
GPPT4_KAZ
};
/* 関数宣言*/
/* ファイル読み込み関連 */
extern int read_pt4(pt4_struct_t **bufpp, const char *fnamp);
extern int read_pt4_head(pt4_struct_t *rbufp, const char *fnamp);
/* 表示関連 */
extern void gput_pt4(const pt4_struct_t *datp, ushort tx, ushort ty);
extern void set_gpalet_pt4(char palbits);
/* 偽装マクロ */
/* .PT4 横幅から横1ラインのデータバイト数を算出する
* 引数: patw - パターン横幅
* 返値: データバイト数
*/
#define get_pt4_wbytes(patw) ((((patw) + 15) / 8) & ~1)
/* ((((patw) + 15) / 16) * 2) */
/* .PT4 データから、正しいファイルサイズを算出する
* 引数: hedp - .PT4 データへのポインタ
* 返値: 正しいと思われるファイルサイズ
*/
#define calc_pt4_file_size(hedp) \
(sizeof(pt4_struct_t) + ((get_pt4_wbytes((hedp)->width) * (hedp)->height) * 4))
#endif /* !defined(LIBPT4_H_HAS_INCLUDED) */